Copyright: Copyright ® 1993 - 1997 G.Plowman


Are you sure you wish to stop the reporting confirmation

The Check 2000 is currently creating a report and the message is reuqesting the use to confirm that they want to stop the reporting process.

Answer Yes to stop the report.

Answer No to allow the report to continue.


A string must be entered error

An attempt has been made to enter a new search string (or modify an existing string) which is blank.

It is not possible to have empty search strings. Please enter some text in the specified field.


No search string file has been set error

An attempt has been made to select the File/Edit Search Strings menu option to obtain the Edit Search Strings dialog.

Before this dialog can be used, the File/Set Search Strings menu option must be used to set the string file which the dialog will maintain.

The error message indicates that the current search string file has not been set.


There is no string to modify error

An attempt has been made to modify a search string when no string was selected and 'edited' from the list.

A string must be 'edited' before it can be modified.


This string already exists! It cannot be added again error

An attempt has been made to add a search string to the list when it already exists in the list.

It is not possible to have duplicate search strings.


Cannot add string! The maximum number of strings allowed has been reached error

An attempt has been made to add a new search string when the maximum number of search strings allowed has been reached.

Once the limit has been reached, it is not possible to add any more search strings.

Please see Application Limitations for details on the actual number of strings allowed.


Memory allocation failure!

This message means that the Check 2000 software has failed to allocate some memory for internal use due to low memory availability.

Close down some other applications or restart Windows and then try the operation again.


Are you sure you wish to delete this string confirmation

The user has selected to delete a search string and the application is requesting the user to confirm that they do want to delete the string before it is actually deleted.

Answer Yes to proceed and delete the string.

Answer No to stop and not delete the string.


About Dialog

Purpose

The About Dialog displays version and copyright information about this version of the Check 2000 application.

Available from

Help/About Check 2000 menu option


About GPP Software

GPP Software first started developing software in 1992 with the release of its 'HelpBuilder' program.

HelpBuilder is a development tool for creating Windows help files and it continues to be one of our main products, having been continually upgraded since its first release. We use HelpBuilder to create help files for all of our products.

Our 'Setup Builder' product was released in early 1993. Setup Builder is a tool for creating professional-looking Windows-hosted installation procedures for installing software. Setup Builder is our main product, having sold large numbers of copies worldwide. Setup Builder has now been upgraded to operate under Windows 3.1, Windows 95 and Windows NT. We use Setup Builder to create installation procedures for all of our software.

'Library Manager' was released in late 1993. Library Manager was a source code and document version control system. It is currently no longer available while a major upgrade progresses.

In July 1995, GPP Software moved our main office from the Uk to Sydney, Australia. This now allows us to provide services for customers in both England and Australia. Our Uk office provides order handling services and our Australian office performs the distribution of our software and all software development. At the same time we also started offering our software on the Internet via our home page (http://www.ozemail.com.au/~gplowman). Previously, we had only previously  offered our software via Compuserve.

We released the SpellChecker addon for HelpBuilder in early 1995, followed by a special version of the spell checker product for use by developers to build into their own programs.

Our licensing library LLLIB became available in June 1997. This provided developers with a toolkit to build licensing functionality into their software which would control how users used their software. The library provides for unregistered, time limited, run limited and fully registered licenses with the ability to control the number of concurrent users in a network environment.

Check 2000 became available in June 1997. This product provides developers with a utility for analysing program source code for potential year 2000 date compliance problems.

GPP Software has sold its software products to many well known major corporates worldwide.

Most of our development is performed using Microsoft Visual C++ version 1.00 for 16-bit applications and Microsoft Visual C++ version 4.2 for 32-bit applications. We also do development in Visual Basic version 3.0. Our development platforms are Windows 3.1, Windows 95 and Windows NT.

GPP Software can do software development contracts for small to medium-sized applications. We also do customer training in our own products.

For any further information on our products and software development services, please contact GPP Software.


Application Limitations

Check 2000 currently has the following limitations, which will be modified in future releases:

30 search strings (Shareware Edition), 200 (Professional Edition)

Limitations on Use

Check 2000 is run-limited software. It will run a certain number of times and then stop running. By the time it expires, you should have had an opportunity to evaluate the product to determine if it meets your requirements.

Please see the Software Price List for information on how to order your copy of the Check 2000 software.


Contacting GPP Software

GPP Software can be contacted at the following addresses:

PO Box 1124, Manly 2095, NSW, Australia

or

'Fiddlers Rest', Gaveston Hall Drive, Nuthurst, Horsham, West Sussex, RH13 6RG, England

All post sent to the Uk address will be forwarded to the Australian address, so please allow for a slight delay.

GPP Software can also be contacted on:

Compuserve ID: 100105,536

Internet: 100105.536@compuserve.com

Internet: gplowman@ozemail.com.au

Internet Home Page/Information/Download Service:

http://www.ozemail.com.au/~gplowman


Contents Page

Contents for Check 2000 Help

Check 2000 is a program for checking source code for potential year 2000 date compliance problems.

To learn how to use Help, press the F1 key.

General Information

      What is the 2000 problem ?

      Solutions to the 2000 problem

      Issues Surrounding Changes

      What is Check 2000 ?

      Edit Search Strings dialog

      Set Output File dialog

      Set String File dialog

Getting Started

      How to use Check 2000

      Further Technical Information

Errors and Troubleshooting/Technical Information

      Error Messages

Other Information

      Other products available

      What is Shareware ? - Description and Disclaimer

      Payment for and Registration of Software

      Software Price List

      Contacting GPP Software

      About GPP Software

      Application Limitations & Limitations on use

      Help File Copyright


Copyright Page
This Windows Help file was written by Graham Plowman

using Help Builder Version 2.00.000 and refers to:

Check 2000 Version 1.00.000 / 20/06/97

Copyright © 1993 - 1997 G.Plowman


Edit Search Strings dialog

Purpose

The Edit Search Strings dialog enables the user to maintain the search strings which will be searched for during the reporting process.

Available from

File/Edit Search Strings menu option

Comments

The dialog contains the following fields:

Strings defined in:...

This list displays all of the search strings which are defined in the current search string file.

New/Modify Search String

This field is used to enter a new search string or change an existing string.

Enter a string in the field and press Add to add it to the list.

Select a string in the list and press Modify to move it to the edit field for changing.

Press Modify to save it back to the list.

Select a string in the list and press Delete to remove a string from the list. A confirmation will appear before the string is deleted.

Press Ok to save the search string list back to the search string file.

Press Cancel to exit the dialog without saving the search string list.


Error Messages

Are you sure you wish to delete this string confirmation

Are you sure you wish to stop the reporting confirmation

A string must be entered error

Cannot add string! The maximum number of strings allowed has been reached error

No search string file has been set error

There is no string to modify error

This string already exists! It cannot be added again error


How to use Check 2000

To check files for year 2000 compliance problems, use the drive and directory lists on the left of the Check 2000 application window to navigate your disk drives by double clicking on the required locations.

Using the mouse and the Ctrl key, select the files to be checked in the file list on the left of the Check 2000 application window.

Select the File/Start Reporting menu option to begin the reporting process.

The Check 2000 software will now proceed to check all of the selected files, listing any potential compliance problems in the 'results' edit field on the right of the Check 2000 window.

To edit a file which is reported as containing potential problems, highlight the file name in the 'results' edit field by using the mouse and double clicking on it. Then select the File/Edit File menu option. The file will be edited using the file association currently set up in File Manager.


Integrity Check
Integrity Checking

This application has an automatic self-checking feature to advise of corruption to the executable file.

The main purpose of this is to enable the program to identify whether it has been interfered with, either by a binary file editor or a computer virus.

Note that attempts to change icons and messages etc using products such as AppStudio or Resource Workshop will render this application unusable since they will cause a failure of the check.

If the application executable is corrupted in any way, the following message will appear:

Integrity Check Violation Error: Integrity has been violated!

If this message does appear, you should re-install this application after checking the reason for it occuring.

Note that all GPP Software products are Virus Checked before it is distributed.

Other integrity-related messages are possible. If you need assistance, please contact GPP Software.


Issues Surrounding Changes

Issues to be remembered when making changes for 2000-compliance

The following is a simple check list of issues which may need to be considered when making changes to applications to obtain year 2000 date compliance:

Source code may be incomplete or  missing. Applications affected by this must either be discarded or completely re-written if they are of importance.

Documentation may be incomplete or missing.

Other applications may share the same files, creating a 'knock-on' effect for any changes made.

The use of library functions, common modules and objects can greatly reduce the level of changes required since a change in a library may then only require applications that use that library to be recompiled and/or linked.

File reformatting and conversion tools will be required to make any changes to files.

Some applications were written using long since defunct programming tools and languages. Obtaining those tools may not be possible today which may mean that a complete re-write in a modern language is required.

Following on from the previous point, finding people with the skills to use the tools may be a problem and may require considerable expenditure to employ people with rare skills.

Extensive and time-consuming testing of changes will be required.

Management recognition of the 2000 date problem is a must. The issue will not go away and senior management must be made to recognise the importance of the issue and allocate resources accordingly. While there appears to be no financial benefit to what is really an IT problem, management should be informed that the financial benefit is that after the changes, their company will be able to continue in business! Without the changes, it won't.

Procedures should be put into place to ensure that all new software is written as 2000-compliant.

Developers may need training on how to write 2000-compliant software and on how to change existing software to make it compliant.


Other Products Available
Products Available from GPP Software

The following products are available from GPP Software:

HelpBuilder

HelpBuilder is a Microsoft Windows 3.1 application for creating and maintaining Windows Help files and is designed for developers wishing to create Windows Help files to distribute with their products and for anyone wishing to create standalone Windows Help files.

This help file was created using HelpBuilder.

HelpBuilder is not an 'add-on' to a commercially available word processor, rather, a Multiple Document Interface (MDI) application integrated with the Microsoft HC31.EXE help compiler (or equivalent compatible eg HCP.EXE)(HelpBuilder is configurable). Since it is likely that anyone using this product is likely to be an applications developer using Visual Basic, Microsoft C/C++ or Borland C++ they will already have HC31.EXE as it is supplied with these products.

HelpBuilder does not 'shell' out to DOS to compile files but provides a complete integrated Windows hosted compilation process.

Windows Help and Help Compiler Features Supported

Topic pages

Links and 'popup' windows to other topics, including optional 'picture hotspots', macros and 'windows'

Browse sequence support

Ability to place bitmaps, segmented hypergraphics and multiple resolution bitmaps in help files

Fonts, colours, bold and italic text

Header/source files which can be included in C/C++ or Visual Basic applications

Context identifiers

Locking of and changing colour of top of Windows Help page

Help file start up macros

Topic start up macros

Changing of 'non-scrollable' and client 'area' colours in Windows Help

Compiler configuration - warning levels, CD ROM, compression etc

Configuration of 'windows'

Integrated spelling checker

Product Features

Full keyboard support

Projects to group individual topic files for a specific application

Topics can be held in one file or separate files in order that they may be shared between projects

Toolbar selection of many facilities

Error checking on project building

Self-checking executable - to detect corruption/tampering eg Virus

Project Wizard to create a basic project

Application Installation and De-installation procedure

Printing of topics and projects

Fully integrated and context sensitive Windows Help file including 'How to..' section

Can create Help files for VB, C/C++, PowerBuilder etc - any language supporting Windows Help and passing of context numbers

Ability to insert RTF commands

Network locking on project and topic files

Automatic creation of .HPJ and .RTF files

Sample demonstration help file project

Multi-tasking during compilation - no 'DOS' windows!

Help files 'testable' from within HelpBuilder

Configurable compiler - can run 16-bit and 32-bit compilers

'Expandable list' project file window to locate files and topics

In-built text macros

User defined text macros

HelpBuilder SpellChecker

HelpBuilder SpellChecker is an addon Dynamic Link Library for HelpBuilder which provides spell checking of help topics. It requires HelpBuilder version 1.09.001 or greater. It is not needed for HelpBuilder version 2.00.000 and greater because these are supplied with the spell checker.

HelpBuilder SpellChecker Features

Small, self contained .DLL, requiring no third party products

Supports dictionaries in different languages (ie different dictionary files)

Words can be added to dictionary (extendable dictionary)

Ignore word option during spell checking

Ignore all occurences of a word option during spell checking

Prompts with alternative spellings and suggestions

Online help

Setup Builder

Setup Builder is an application for Windows 3.1, Windows 95 and Windows NT for creating and maintaining Windows Hosted installation procedures and is aimed at developers who wish to provide that 'professional' touch to the installation of their software.

The installation procedure for this piece of software was created using Setup Builder.

The interpreter part of the product can also be used to run Windows Hosted DOS-like batch files using the script language supported.

Forget about distributing Microsoft's 0.5 Mb offering just to install a 100-200K executable! This product uses less than 300K of diskette space and is highly tailorable and doesn't require the user to get involved with C/C++, DLL's or Visual Basic in order to create install disks.

Setup Builder is not 'tied' into any one development tool: it can be used with any development tool you may choose.

Setup Builder Application Features

Setup projects to which files can be added/removed

Automatic creation of installation disks, requesting extra disks as required

Automatic splitting of large files across diskettes (including compressed files)

Automatic creation of install script code

Automatic creation of de-install script code

Ability for user to place 'user-defined' code in install procedure if required

Windows hosted with toolbar and status bar

All files can have attributes set: target location, overwrite/version checks, in use checks, file compression, create program manager icons etc

Ability to create program manager groups and icons

Up to 2048 files in an installation (Professional Edition)

Optional encryption of install scripts (so that users can't change them)

Context sensitive, comprehensive Windows Help file

Network locking on project files

Visual Basic .MAK project import facility

3rd party product import facility eg VB run-time, Access etc (Configurable)

Ability to change text on all dialogs used in an installation (also allows different languages - defaults to English, French, German, Italian, Spanish or Dutch)

Optional installation of components at install-time

Capable of creating installs that can be run from diskette, hard disk or CD ROM

Can install ODBC drivers and configure ODBC data sources

Creates 16 bit, full 32 bit or dual 16/32 bit architecture installations for Windows 3.1, Windows 95 and Windows NT all from the one product!

Installations don't have to be created under the operating system that they are targeted for

Self extracting file support

Ability to run files after installation

Interpreter Supported Features (Interpreter is placed on install disks to 'run' install procedures)

Script language (similar to DOS batch files) supporting if and goto statements, string and numeric variables

Windows extensions - pre-defined dialogs (user definable text), message boxes, creation of program manager icons/groups and ability to delete them

User defined objects - Backdrops, dialogs and cue cards (bill boards)

Comprehensive Windows Help file

String and numeric manipulation (left, right, mid, +, -, *, /)

Copying of files

Optional progress gauge during copying

Date and time functions

DOS file management - create/delete/renaming of directories, disk space and file presence/overwrite/version checks

Windows .INI file management

Full Windows Registry support

File management - create/delete/renaming/copying/date & time setting, reading and writing of ASCII files

Nested script files - call a script from another script

External calls to run other Windows applications

Shared file registry (stops un-installing of files shared by multiple applications). Under Win95/NT uses Windows shared file registry

English, French, German, Italian, Spanish and Dutch language support on dialogs

Long file name support (32-bit version only)

OLE Control registration

SpellChecker

The Developer Edition of SpellChecker is a Windows 3.1 addon Dynamic Link Library which can be built into your applications to provide a spell checking facility which would otherwise normally require the use of DDE/OLE communications with products such as Microsoft Word. SpellChecker is an integrated .DLL, which is compact in size and is easy to build into your applications quickly. It is supplied complete with a help file which documents how to use and program it. SpellChecker may be built into any application constructed using a development tool which supports .DLL API calls such as C/C++, Visual Basic etc

SpellChecker Features

Small, self contained .DLL, requiring no third party products

Simple to build in to applications via .DLL API calls (documented).

Supports dictionaries in different languages (ie different dictionary files)

Words can be added to dictionary (extendable dictionary)

Ignore word option during spell checking

Ignore all occurences of a word option during spell checking

Prompts with alternative spellings and suggestions

API call to spell check a Windows Edit field

API call to spell check a string buffer

API call to spell check an ASCII file

API call to spell check an individual word

Online help - runtime (separate file)

Online help - development/programming information (separate file)

LLLIB Licensing Library

LLLIB is a library which can be built into applications to provide licensing functionality and control of how users use your software. Increase those registrations by limiting your software to encourage people to register! No longer do you need to worry about your software being used for longer than it should!

LLLIB Licensing Library Features

Supplied as .DLLs and .LIB files for 16-bit and 32-bit applications

Small, self contained .DLL/.LIB, requiring no third party products

Simple installation - no difficult OLE configuration/registration required

Can be used from any development tool (eg C/C++, VB etc)

Comprehensive help file including detailed API documentation

Comprehensive examples in C/C++ and VB3 demonstrating many of the facilities available

No royalties on distribution

Licensing system supports unregistered licenses, time limited licenses, run limited licenses and full registrations

Licenses support product numbers

Licenses support registration numbers (number of the product sold)

Licenses support concurrent users so that the library can control the number of concurrent users using a piece of software based on the license number (allows licenses to be charged on concurrent user basis in network software)

Various API functions available to query the license number and enable limiting of features in software based on the license

Protected license files to prevent tampering

Special encoded license numbering system to prevent 'any-old' number being entered

Check 2000 Compliance Checker

Check 2000 is a utility for checking software source code for potential year 2000 date compliance problems.

Check 2000 Features

Supplied as 16 and 32-bit versions

Supplied with search string templates for C/C++ and Visual Basic

Works with any programming language that uses ASCII source files

User definable search string templates

Comprehensive help file

Creates report of results on screen and in a log file

Quick way for developers to check source code

Assistance/Further Information

If you require any assistance or further information on any of the above products, please contact GPP Software at the address in the Contacting GPP Software section of this help file.


Payment for Software
Payment for and Registration of Software

If you wish to continue to make use of the Check 2000 software you are expected to pay a registration fee.

The registration fee for the Check 2000 software may be found in the Software Price List section of this help file.

Compuserve also has a facility for payment for shareware software which is ideal for overseas users. Essentially, a shareware author registers their software in a database and then the facility transfers payment from one user's account to another.

You can pay for Check 2000 via this facility via (GO) SWREG at any time. Select the 'Register Shareware' option. The registration number of this software is 15555.

Your registration fee entitles you to use this software on a single computer for an unlimited period and to make as many copies as you wish for backup purposes.

Upon receipt of your registration fee you will receive a disk (mail orders only) containing the latest version of the software and advice on how to remove the 'shareware warning' dialog, stop the one month disabling feature and release the various shareware restrictions in the software. You will also receive notice of updates to the software.

Free technical support is available to registered users.

See Also: Contacting GPP Software, What is Shareware ? - Description and Disclaimer, Software Price List


Price List

PO Box 1124, Manly 2095, NSW, AUSTRALIA or

'Fiddlers Rest', Gaveston Hall Drive, Nuthurst, Horsham, West Sussex, RH13 6RG, ENGLAND

Price List for Software

Prod                                                            CIS      CIS      CIS     CIS

No      Product                              Price    Price    Price   Shipping  Total   SWREG

                                              AU$      UK£      US$      US$      US$     ID

#00     HelpBuilder                         $120.00   £60.00   $96.00   $15.00  $111.00  #4152

        HelpBuilder Upgrade                  $60.00   £30.00   $48.00    $7.00   $55.00  #5193

#01     Setup Builder                       $120.00   £60.00   $96.00   $15.00  $111.00  #4153

        Setup Builder Upgrade                $60.00   £30.00   $48.00    $7.00   $55.00  #5194

#03     HelpBuilder SpellChecker             $50.00   £25.00   $40.00    $6.00   $46.00  #10705

#04     SpellChecker (Developer)             $80.00   £40.00   $64.00   $10.00   $74.00  #10521

        Distribution License (per copy)      $30.00   £15.00   $24.00    $4.00   $28.00  #11064

        Unlimited Royalty Free

        Distribution License                $500.00  £250.00  $400.00   $60.00  $460.00

#05     LLLIB Licensing Library             $120.00   £60.00   $96.00   $15.00  $111.00  #15554

#06     Check 2000 Compliance Checker        $60.00   £30.00   $48.00    $7.00   $55.00  #15555

        Postage, packing & handling (orders received by post)

        Per disk (in Australia)               $5.00

        Per disk (outside Australia)         $10.00    £5.00

        Per manual                           $10.00    £5.00

        Any number of user license numbers    $5.00    £2.50

When ordering, payment can be made by cheque, bankers draft, credit card or via the Compuserve SWREG facility.

Cheques

Please print off the appropriate order form 'Australian Order Form' or 'UK Order Form' and complete the details.

Cheques must be made out to GPP Software either in Australian Dollars (please post to Australian address) and drawn on an Australian bank or in UK Pounds Sterling (please post to UK address) made out to G.Plowman and drawn on a British bank.

Please do not send cheques drawn on your own local bank if you are not in Australia or England: we are charged currency conversions by our bank. To cover this cost we have to contact you for this extra charge which of course, delays the processing of your order.

European customers can use Eurocheques. Please make these out in UK Pounds Sterling and post them to our UK address. Eurocheques are not valid for non-European currencies.

Bankers Drafts

Please print off the appropriate order form 'Australian Order Form' or 'UK Order Form' and complete the details.

Bankers drafts must be made out to GPP Software either in Australian Dollars (please post to Australian address) and drawn on an Australian bank or in UK Pounds Sterling (please post to UK address) made out to G.Plowman and drawn on a British bank.

Credit Cards

Please print off the 'Australian Order Form' (ORDERAUS.TXT) and complete it including the credit card details.

The completed form must be sent to our Australian address. This can be done by post or by fax (please contact us first for our fax number).

NOTE: Because our bank makes a 4% charge on credit card transactions, we have to also make a 4% charge on top of the total value of a credit card order.

Credit card orders are always charged in Australian dollars. The bank performs the currency conversion and charges you the Australian Dollar value converted to your currency plus a currency conversion charge, so you don't need to worry about conversion. Please do not complete the order form in your local currency because we will only use the current Australian Dollar price. It is not possible for us to bill in your local currency if you are outside Australia. This is  partly because we would end up paying the currency conversion charges instead of you and also because credit card companies do not operate this way.

Electronic Funds Transfer via your bank

Please print off the 'Australian Order Form' (ORDERAUS.TXT) and complete it. You can either E-Mail or fax it to us.

Please ensure that electronic funds transfers are made in Australian dollars. We cannot accept any other currencies. Because our bank makes a $5 Austalian charge for this service, we have to request that you add this extra $5 to the amount of money you transfer for payment.

Please advise us in advance if you wish to make a payment via electronic transfer so that we can advise you of our bank account details.

Compuserve SWREG

SWREG provides an extremely convenient method of payment which means that you don't have to worry about currency conversions etc. SWREG will deduct a payment from your Compuserve account and credit it to ours. This is controlled by the Compuserve accounts system.

To use this method of payment, GO SWREG and select the 'Register Shareware' option. Complete the requested details.

This method of payment is the quickest method we can offer: it normally takes about 24 hours to register.

Postage Charges

These are applicable to all orders made by post or fax. The charge is applicable per disk ordered.

We do not normally send out disks to customers who register 'online' as we send them the software and a license number via E-Mail, however, all orders by post will receive a diskette containing the latest version of the software.

Disks

Unless you request otherwise, 3 1/2 inch disks will be sent.

Disks are normally only sent to customers who order by post. Customers who register 'online' can download the latest version.

General Policy

If you register via Compuserve, you will receive an acknowledgement E-Mail advising of your license number and information on the latest versions and the support available.

All registrations receive unlimited time usage of the software, free technical support and notifications of upgrades.

Payment must be made in full before goods are delivered. Registrations cannot be made over the phone with payment to follow.

Upgrades

Upgrades are normally free of charge except where a major upgrade occurs in which case a nominal upgrade charge may apply (normally half the full price).

If you register by post and you have an E-Mail address, please advise us of that address to enable easier and quicker advice of upgrades and new versions.

Conditions

It is a condition of registration that you accept that you have fully tried and tested this software and found that it meets your requirements to your satisfaction. Please note that once a license number has been given, no refund will be possible.

Prices are correct as at 13/06/97. This price list is valid for a maximum of 3 months from that date. Please contact GPP Software for the current prices before you mail order your software. Compuserve SWREG prices are always up to date. All prices and specifications are subject to change without notice. E.& O.E.


Set Output File dialog

Purpose

The Set Output File dialog enables the user to specify the file to which reports are written during the reporting process.

Available from

File/Set Output File menu option

Comments

When a report is created it appears on the screen, but at the same time, it is also written to an output log file so that it can be used later or printed.

Enter the name of a file to which you require the report output to be written and press Ok to save the selection.

Press Cancel to exit the dialog without making a selection.


Set String File dialog

Purpose

The Set String File dialog enables the user to specify the string file which the Check 2000 application will edit in the Edit Search Strings dialog and use for string matching during the reporting process.

Available from

File/Set Search Strings File menu option

Comments

Enter the name of a file to which you require to be edited and/or used by the report process and press Ok to save the selection.

Press Cancel to exit the dialog without making a selection.


Solutions to the 2000 problem

What are the solutions ?

For a given application, the solutions depend on how the application was written. In some applications, it was common to use text fields to store dates in files such that a date would actually be stored in the same way as it appeared on the screen ie as text:

19/05/97

This approach is the one which causes the most problems because the date needs to be either expanded into its full 4 digit year form or the application code has to be written to assume that years which are before, say 80, mean '2000 an something'. Changing the actual storage is probably the easiest approach since the latter approach will require many software changes which may well introduce errors. However, some applications may be written with fixed record lengths such that a record is located by multiplying the record number required by the record length. Such calculations need to be modified to reflect the change in record length.

Storing dates in text form is widely used on mainframe systems, particularly those written in Cobol. In fact, the year 2000 problem probably affects mainframe systems more than it does PC systems.

Other applications store dates as numbers, for example 970619 for 19th June 97. These applications are easier to deal with because they can be fixed by adding an extra two 'century' digits on the start of the date: 19970619. Assuming that the numeric type being used can handle numbers in this range, no file changes are required.

Some applications may store the above format as a string:

19970619

This approach is used by dBase .DBF files and does not present a problem. However, the application must be written to use the four digit years in all date calculations.

The solution to nearly all applications is to identify those areas of source code which are affected by two-digit year dates and then to fix them.

Check 2000 provides a quick and easy way to perform this initial seaching for potential problem areas.

Warning

Many developers believe that if Microsoft 16-bit software is not 2000-compliant now, Microsoft will be releasing 2000-compliant versions before the year 2000. This is not true. Microsoft have stopped all 16-bit development and are concentrating on Windows 95 and NT 32-bit software only. They will not be releasing any more 16-bit software.

Microsoft 16-bit software is already 2000-compliant, however, you must be using the date types as 4-digit years to obtain the compliance. Some of the functions in Visual Basic for example, can give unpredictable results when only two digit years are specified. This almost certainly applies to other development tools.

General Guidelines

PC software from Microsoft and most development tool manufacturers is already 2000-compliant. Even dBase/Clipper was 2000-compliant when it first came out! However, to ensure that your applications operate correctly, the code must be written to use dates with 4 digit years to obtain the compliance. This means that all screen fields requesting dates from the user should require 4 digit dates and internally, an application should use those dates in their full form.

Many applications produce reports which may display dates, such as the date the report was created. Such dates are known as 'display dates'. It is not important that these dates are changed since they are often not used in calculations, but it is adviseable that they are changed in order to provide consistency.


Technical Support Help File
Further Technical Information

Further technical information about GPP Software products may be obtained from the GPP Software Technical Support help file which may be found in the Compuserve WinShare forum. Simply GO WINSHARE and select 'Library Search'. Enter 100105,536 as the 'Contributor' and then press 'Search'. Click on the required item(s) and press 'Retrieve' to download them.

The GPP Software Technical Support help file is a file containing technical information (Technical Reports - TR's) about GPP Software products which is not supplied in the help files supplied with the products.

It supplies information on technical issues and how to resolve them as well as reported faults, their current state of resolution and work-arounds etc.

There is also technical information about how various parts of the applications work.

This file will be continually updated as the products are developed and as information becomes available.

Please note that as faults are identified and fixed, the fixes will automatically appear in future versions of the software, normally the next release.


What is Check 2000 ?

Check 2000 is a utility program which has been written for developers to take a proactive approach to the 2000 date problem.

Check 2000 analyses program source code to identify potential areas where there may be a date problem and displays this in a simple report.

The identification process is done using a list of recognised strings for which to search for in the source code. This list can be maintained by the user and can have new items added or changed as required. The list is stored in a simple ASCII file and it is possible to have several lists, each tailored for specific programming languages. Indeed, Check 2000 is supplied with CPLUS.STR for C/C++ applications and VB.STR for Visual Basic applications.

Please note that Check 2000 requires that any source code files to be analysed MUST be saved in ASCII format. The program cannot handle binary format files, although if supplied to the program, binary files will not cause the program to crash.


What is Shareware ?

Definition of Shareware

Shareware distribution gives users a chance to try software before buying it. If you try a Shareware program and continue using it, you are expected to register. Individual programs differ on details: some request registration while others require it, some specify a maximum trial period. With registration, you get anything from the simple right to continue using the software to an updated program with printed manual.

Copyright laws apply to both Shareware and commercial software, and the copyright holder retains all rights. Shareware authors are accomplished programmers, just like commercial authors, and the programs are of comparable quality. (In both cases, there are good programs and bad ones!) The main difference is in the method of distribution. The author specifically grants the right to copy and distribute the software, either to all and sundry or to a specific group. For example, some authors require written permission before a commercial disk vendor may copy their Shareware.

Shareware is a distribution method, not a type of software. You should find software that suits your needs and pocketbook, whether it's commercial or Shareware. The Shareware system makes fitting your needs easier, because you can try before you buy.

And because the overhead is low, prices are low also. Shareware has the ultimate money-back guarantee: if you don't use the

product or it doesn't do what you want it to do or you don't like it, then you don't pay for it.

Reasons for Registering

All the 'unregistered copy' messages will disappear

All the 'limiting' features of the Shareware version will be removed

You will receive notifications when the next major versions become available

You will receive free technical support

You will automatically become a registered user of future versions with no more fees to pay (subject to major versions)

Grant

GPP Software grants you a non-exclusive license to use this software free of charge for a one month evaluation period after which you must register (pay) for a copy of this software if you wish to continue to use it. Upon registration you are granted a license to use this software for an unlimited time period.

You may not modify, translate, reverse engineer, decompile, disassemble or create derivative works based on this software except where this documentation specifically states otherwise.

Title

Title, ownership rights and intellectual property rights in and to this software shall remain in GPP Software. This software is

protected by international copyright treaties. Your license does not give you any rights to title, ownership or copyright.

Disclaimer of Warranty

Users of this software must accept this disclaimer of warranty:

"This software is supplied 'as is' without warranty of any kind.  The author disclaims all warranties, expressed or implied, including, without limitation, the warranties of merchantability and of fitness for any purpose. The entire risk as to the quality and performance of this software is borne by you.

GPP Software assumes no liability for damages, direct or consequential, which may result from the use of this software."

Limitation of Liability

UNDER NO CIRCUMSTANCES AND UNDER NO LEGAL THEORY, TORT, CONTRACT OR OTHERWISE, SHALL GPP SOFTWARE BE LIABLE TO YOU OR ANY OTHER PERSON FOR ANY INDIRECT, SPECIAL OR INCIDENTAL, OR CONSEQUENTIAL DAMAGES OF ANY CHARACTER INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF GOODWILL, WORK STOPPAGE, COMPUTER FAILURE OR MALFUNCTION, OR ANY AND ALL OTHER COMMERCIAL DAMAGES OR LOSSES. IN NO EVENT WILL GPP SOFTWARE BE LIABLE FOR DAMAGES IN EXCESS OF THE LIST PRICE OF A LICENSE FOR THIS SOFTWARE, EVEN IF GPP SOFTWARE SHALL HAVE BEEN INFORMED OF THE POSSIBILITY OF SUCH DAMAGES, OR FOR ANY CLAIM BY ANY OTHER PARTY.

Termination

Your license will terminate automatically if you fail to comply with the limitations described. On termination you must destroy all copies of the software.

Miscellaneous

This software is a "shareware program" and is provided at no charge to the user for evaluation.  Feel free to share it with your friends, but please do not give it away altered or as part of another system.  The idea of "user-supported" software is to provide personal computer users with quality software without high prices, and yet to provide incentive for programmers to continue to develop new products.  If you find this program useful and you wish to continue to use it after a reasonable trial period, you must make a registration payment. The registration fee will license one copy for use on any one computer at any one time.  You must treat this software just like a book.  An example is that this software may be used by any number of people and may be freely moved from one computer location to another, so long as there is no possibility of it being used at one location while it's being used at another.

Just as a book cannot be read by two different people at the same time.

Commercial Users should register as soon as possible and not let the one month expiry feature stop the program and cause problems with meeting project deadlines: 'urgent' registrations are still subject to the speed of E-Mail systems and the postal system - please don't leave registration to the last minute. You are not allowed to distribute the output of the Shareware Edition of this software for financial gain. Various limiting features have been built into the Shareware Edition. Site-License arrangements can be made by contacting the author.

Anyone distributing this software for any kind of remuneration must first contact the author. In this way the distributor can be kept up-to-date with the latest version of this software.

You are encouraged to pass a copy of this software to your friends for evaluation.  Please encourage them to register their copy if they find that they can use it.  All registered users will receive a copy of the latest version of this program, a license number, free technical support and notifications of upgrades.

It is a condition of registration that you accept that you have fully tried and tested this software and found that it meets your requirements to your satisfaction. Please note that once a license number has been given, no refund will be possible.

GPP Software


What is the 2000 problem ?

You've heard of the so called 'millenium year 2000 bug' ?

It has been publicised many times in the media recently and will become more of an issue as the year 2000 approaches. In fact, many applications are already being affected by the problem.

So what is the problem ?

The 2000 problem is related to how computer programs have be written to store dates. It also relates to hardware as well.

In simple terms, there are many computer systems around which have been written in a way which will be unable to correctly handle dates from January 1, 2000.

The main issues are:

1)	Applications which calculate time periods, given two dates

2)	Applications which calculate a date x days into the future (or past)

3)	The hardware BIOS of PC computers

Each of the above issues will now be discussed in turn.

1) Applications which calculate time periods, given two dates

Many applications have been written using two digits to store the year on a date, for example: 21/01/97.

This approach has been used for many years and was identified as an excellent way to save on disk and memory storage space required by dates. In the early days of computing where disk and memory was extremely limited, this was very important. When the first computer systems were written, and even those written in the 1970's and 1980's, it wasn't expected that those systems would be still in use at the year 2000, so the date issue was never perceived as a problem.

When the year 2000 approaches, 2000 will become 00 in the two digit 'dd/mm/yy' year format of date. For some applications, this will not cause a problem, however, for others which calculate date periods by taking a start date from an end date, there will be major problems.

Example

In a banking application, the interest on an amount of money is calculated by working out the period of time and multiplying this by a rate. The period is calculated by taking the start date from the end date. The following demonstrates the issue in two digit years:

Start date:	01/01/70	(1970)

End date:	01/01/00	(2000)

The period expected is 30 years, however 00 - 70 is -70, not 30. This is where many applications will fail when the year 2000 approaches.

The following demonstrates the same calculation using 4 digit years (the solution to the problem):

Start date:	01/01/1970

End date:	01/01/2000

2000 - 1970 = 30, which is the correct expected result.

2) Applications which calculate a date x days into the future (or past)

Some applications use the current date and work out a date in the future (or past). Using the two digit 'dd/mm/yy' year format, this type of application will be affected.

Example

A financial application calculates that an investment matures in 20 year's time:

Start date:	19/06/97

End date:	19/06/97 plus 20 years (97 + 20) = 19/06/117

The resulting date is incorrect and may well be stored as 19/06/11 which is even worse!

The solution is to use 4 digit years:

Start date:	19/06/1997

End date:	19/06/1997 plus 20 years (1997 + 20) = 19/06/2017

3) The hardware BIOS of PC computers

The hardware of a PC computer system stores the date and time while the machine is switched off.

To test whether your machine is year 2000 compliant, perform the following test:

Create a boot diskette by formatting a disk

Set the date to 31/12/1999 and the time to 23:59:50

Power off the machine

Wait 20 seconds

Insert the boot diskette

Power on the machine

View the date and time

If the date and time displayed by your machine is anything other than correct, then your machine is not 2000 compliant. Most machines reset the date to 1980 or 1984.

The reason for using the boot diskette is to stop the PC starting Windows or any network software. The test must cause a command prompt to appear immediately and not allow connections to a network server (Novelle servers pass the date to a machine when a connection is made and the PC date is changed). Another way to achieve this would be to remove the AUTOEXEC.BAT and CONFIG.SYS.

Note: Large numbers of PC's are still being sold today which do not pass the above test. Perhaps purchasers of PC's should be demanding from manufacturers that the machines are 2000-compliant before they purchase them.

Corporate purchasers should be writing items into purchasing contracts that compliance is required.

It should be noted that when operating systems such as DOS, Windows NT and Windows 95 start when a machine is first powered on, they copy the date and time from the hardware and then maintain it themselves for the rest of the time the machine is powered on. If a machine is left powered on over the above test, it will pass the test because the date and time is being maintained correctly by the operating system, not the hardware. You will find that if you power off after 2000 and power on again, the date and time will be incorrect.

MS DOS and all versions of Microsoft Windows are 2000 compliant.